
/* Required Includes */
#import <Cocoa/Cocoa.h>
#import "OpenGLView.h"

#import "BlobbyCloud.h"
#import "BrickShader.h"
#import "Bubbles.h"
#import "Bumpmap.h"
#import "Cloud1.h"
#import "Cloud2.h"
#import "Earth.h"
#import "EmulateFFFS.h"
#import "EmulateFFVS.h"
#import "EnvMap.h"
#import "Eroded.h"
#import "Fire.h"
#import "Fur.h"
#import "Glass.h"
#import "GlyphBomb.h"
#import "Gooch.h"
#import "Granite.h"
#import "HeatHaze.h"
#import "Inferno.h"
#import "Julia.h"
#import "Lattice.h"
#import "Mandelbrot.h"
#import "Marble.h"
#import "ParticleFountain.h"
#import "ParticleSimple.h"
#import "ParticleWave.h"
#import "Plasma.h"
#import "Polkadot3D.h"
#import "Skinning.h"
#import "SphereMorph.h"
#import "StarBomb.h"
#import "TextureBomb.h"
#import "Toon.h"
#import "TorusMorph.h"
#import "Toyball.h"
#import "VertexNoise.h"
#import "Wobble.h"
#import "Wood1.h"
#import "Wood2.h"
#import "WoodShader.h"

#import "RayTracer.h"
#import "Life.h"

/*#import "Mandelbrot.h"
#import "BrickShader.h"
#import "WoodShader.h"
#import "Marble.h"*/

/* Exhibit base class */
@interface UIController : NSObject {
	IBOutlet OpenGLView  *openglview;
	IBOutlet NSTableView *table_view;
	IBOutlet NSTextView  *text_view;
	
	NSArray *exhibits;
}

- (id) init;
- (void) dealloc;

/* Following methods are for compliency with the NSTableDataSource protocol */
- (int) numberOfRowsInTableView: (NSTableView *) aTableView;
- (id) tableView: (NSTableView *) aTableView
       objectValueForTableColumn: (NSTableColumn *) aTableColumn                                                                 
       row: (int) rowIndex;
- (void) tableViewSelectionDidChange: (NSNotification *) aNotification;
 			
@end
